perm filename LISP.BUG[BUG,LSP]1 blob
sn#485156 filedate 1979-11-26 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002
C00003 ENDMK
C⊗;
∂13-Oct-79 0717 GRAND@MIT-AI sugestion for modification to top-level
From: GRAND@MIT-AI
Date: 10/13/79 10:13:17
Subject: sugestion for modification to top-level
GRAND@MIT-AI 10/13/79 10:13:17 Re: sugestion for modification to top-level
To: (BUG LISP) at MIT-AI
Change (setq + -) to (or (equal + '+) (setq + -))
∂13-Oct-79 0904 Robert W. Kerns <RWK at MIT-MC>
Date: 13 October 1979 11:48-EDT
From: Robert W. Kerns <RWK at MIT-MC>
To: MACRAK at MIT-MC
cc: BUG-LISP at MIT-MC
Date: 12 October 1979 19:03-EDT
From: Stavros M. Macrakis <MACRAK at MIT-MC>
To: BUG-LISP
I had ↑D on and ground a function. I got
; new list segment added to make this a long line (defun foo (x)
bar q...
That is, the GC message totally screwed up the grind. I don't see
how to avoid this though, unless GC messages remember what charpos
they started at and restore that position at the end of the line....
The obvious thing would be for the message-printer to do a fresh-line operation
before the message and a new-line after. (A fresh-line operation is like ↑PA
or (CURSORPOS 'A), but generalized to arbitrary streams). Probably not worth
fixing in MacLisp, which is a loser anyway...
∂13-Oct-79 0910 Robert W. Kerns <RWK at MIT-MC>
Date: 13 October 1979 12:09-EDT
From: Robert W. Kerns <RWK at MIT-MC>
To: ALAN at MIT-AI
cc: BUG-LISP at MIT-MC
Date: 10/11/79 01:30:59
From: ALAN at MIT-AI
To: (BUG LISP) at MIT-AI
It looks to me like lisp will only ask for jcl when both the
OPTCMD and OPTBRK bits are set in .OPTION . This makes it hard to
pass jcl to an inferior lisp, because you have to handle all .BREAKS .
It seems to me that if you do a (status jcl) and OPTCMD is set,
then that is enough to justify interrupting your inferior.
Indeed. The test should be for existance of a superior plus %OPCMD.
∂13-Oct-79 1620 ALAN at MIT-MC (Alan Bawden)
Date: 13 OCT 1979 1920-EDT
From: ALAN at MIT-MC (Alan Bawden)
To: (BUG QC) at MIT-MC
flags on the command line seem broken:
←alan;myfile > (t)
INCORRECT SYNTAX mumbel mumbel...
∂14-Oct-79 0153 GSB@MIT-ML
From: GSB@MIT-ML
Date: 10/14/79 04:51:45
GSB@MIT-ML 10/14/79 04:51:45
To: (BUG COMPLR) at MIT-ML
(declare (*lexpr foo)
(flonum (foo notype flonum fixnum fixnum fixnum fixnum)))
(defun bar (a) (foo a 0.0 1 2 3 4.0))
gives no complaints to the effect that 4.0 is not a fixnum.
∂16-Oct-79 0924 GLS@MIT-AI GRAND's suggestion
From: GLS@MIT-AI
Date: 10/16/79 12:20:55
Subject: GRAND's suggestion
GLS@MIT-AI 10/16/79 12:20:55 Re: GRAND's suggestion
To: (BUG LISP) at MIT-AI
CC: GRAND at MIT-AI
Maybe he really wanted to change (SETQ + -) to (OR (EQUAL - '+) (SETQ + -)) ?
∂16-Oct-79 2103 GRAND@MIT-AI
From: GRAND@MIT-AI
Date: 10/16/79 22:39:58
GRAND@MIT-AI 10/16/79 22:39:58
To: GLS at MIT-AI
CC: (BUG LISP) at MIT-AI
Isn't change (setq + -) to (or (equal - '+) (setq - '+))
what I said?
∂16-Oct-79 2204 GJC at MIT-MC (George J. Carrette)
Date: 17 OCT 1979 0102-EDT
From: GJC at MIT-MC (George J. Carrette)
To: (BUG LISP) at MIT-MC
CC: KMP at MIT-MC
Rub-out processing inside ones own read macros
works sometimes but not all the time.
You know this of course, when a usual
lisp atom boundary is reached then you cannot rub out
after that (in time or space). If a boundary has not
been reached the rub-outs work as usual. If rub-outs
never worked in user read-macros (unless the user handles
them specificaly) then this would be o.k. But working
for some cases but not others is not soo good. Is
there a way to fix this? Can I turn off all rub-out
processing (when inside the macro) and handle it myself?
Can it be made to work like on the lisp machine?
∂17-Oct-79 0237 Alan Bawden <ALAN at MIT-AI>
Date: 17 October 1979 05:33-EDT
From: Alan Bawden <ALAN at MIT-AI>
To: GJC at MIT-MC
cc: BUG-LISP at MIT-AI, KMP at MIT-MC
Rubout processing on the LispMachine works at all times, even
in the middle of the wierdest reader macro. This is because
a read is actually in process as you are typing, when you
type the rubout character a throw is done out of the reader
and it is re-invoked on whatever input is left as soon as you
stop typing rubouts. This has the wierd side effect that
syntax errors sometimes cause an error before you are even
finished typing the form. GSB has a frob that does someting
like this in MacLisp, but for various reasons that he will
be happy to flame about, it cannot actually work in a working
MacLisp environment.
∂17-Oct-79 0332 ALAN at MIT-MC (Alan Bawden) damn
Date: 17 OCT 1979 0632-EDT
From: ALAN at MIT-MC (Alan Bawden)
Subject: damn
To: (BUG QC) at MIT-MC
why doesn't it work to specify flags anymore?
←foobar (t)
INCORRECT COMMAND SYNTAX - MAKLAP
First of it seems crazy that the error message says "- MAKLAP"
but I suppose we have all gotten used to that bit of obscurity
by now... ("what the hell is MAKLAP? I thought I was running
something called complr or something like that...")
Secondly how the hell am I supposed to set these flags now anyway!?
I like setting the "t" flag (although naturally I have no idea
why the letter "t" was singled out for this purpose), and it
makes me nervous and irritable when I can't see which of my
beautiful functions the compiler is chewing up now.
∂17-Oct-79 0336 JONL at MIT-MC (Jon L White)
Date: 17 OCT 1979 0637-EDT
From: JONL at MIT-MC (Jon L White)
To: ALAN at MIT-MC
CC: (BUG QC) at MIT-MC
Date: 17 OCT 1979 0632-EDT
From: ALAN at MIT-MC (Alan Bawden)
Subject: damn
To: (BUG QC) at MIT-MC
why doesn't it work to specify flags anymore?
←foobar (t)
INCORRECT COMMAND SYNTAX - MAKLAP
Failure of switch parser to recognize lower case.
Will be fixed within the hour.
∂17-Oct-79 0643 JONL at MIT-MC (Jon L White)
Date: 17 OCT 1979 0942-EDT
From: JONL at MIT-MC (Jon L White)
To: grand at MIT-AI
CC: GLS at MIT-MC, (BUG LISP) at MIT-MC
GRAND@MIT-AI 10/16/79 22:39:58
To: GLS at MIT-AI
CC: (BUG LISP) at MIT-AI
Isn't change (setq + -) to (or (equal - '+) (setq - '+))
what I said?
No, you had
Change (setq + -) to (or (equal + '+) (setq + -))
I presume that the effect you want is: if you type a "+" at the
top-level loop, you don't want the next value of + to be "+".
Quux's rewriting of this as
change (SETQ + -) to (OR (EQUAL - '+) (SETQ + -))
would accomplish this (more or less at TLEVAL).
∂18-Oct-79 0732 GLS@MIT-AI
From: GLS@MIT-AI
Date: 10/18/79 10:27:53
GLS@MIT-AI 10/18/79 10:27:53
To: GRAND at MIT-AI
CC: GLS at MIT-AI, (BUG LISP) at MIT-AI
GRAND@MIT-AI 10/16/79 22:39:58
Isn't change (setq + -) to (or (equal - '+) (setq - '+))
what I said?
No, you said (or (equal + '+) (setq - +)) [and in the above,
the last + should not be quoted, of course].
∂18-Oct-79 1139 GJC at MIT-MC (George J. Carrette)
Date: 18 OCT 1979 1436-EDT
From: GJC at MIT-MC (George J. Carrette)
To: GSB at MIT-ML
CC: (BUG LISP) at MIT-MC, GJC at MIT-MC
Well, I'll try some of your suggestions out. Its not like its
very vital to have things read from the TTY in the correct way
in user read macros because I want to use them mainly to make code
look prettier in files. If there was a standard macro shell
that acted like | acts then that would be all I would need.
I want to have {cruft...n} read in as if it was
(some-atom-crunching-macro |cruft...n|) then one could do explode or
whatever. (SSTATUS STRING-LIKE-MACRO BALANCE { } 'some-atom-cruncher)
Macros wich call READ seem to win always, ones that call TYI loose,
and from your description its because of maclisps own tty pre-scanner,
sounds like its easier to add a fix to the system that will cover almost
all cases. Could the code for | be addapted slightly to cover this?
Is balancing harder then delimiting?
∂18-Oct-79 1143 JONL at MIT-MC (Jon L White) ''rubbing out'' string-like tokens in maclisp
Date: 18 OCT 1979 1440-EDT
From: JONL at MIT-MC (Jon L White)
Subject: "rubbing out" string-like tokens in maclisp
To: GJC at MIT-MC
CC: GSB at MIT-MC, KMP at MIT-MC, ALAN at MIT-MC, (BUG LISP) at MIT-MC
THe soon-to-be-released maclisp, version 1873, has a
function for " as a read-macro, but it is not initially
set up (so that losers who are using it in an alphabetic
way can't complain). If you do the SETSYNTAX to make
it a macro, it will "rubout" the same way as | - there
is a new variable holding an a-list for characters which
delineate string-like tokens. To get a preview, see
MC:LISP;NEW RECENT
∂18-Oct-79 2028 Glenn S. Burke <GSB at MIT-ML> format of (status features)
Date: 18 October 1979 21:34-EDT
From: Glenn S. Burke <GSB at MIT-ML>
Subject: format of (status features)
To: BUG-LISP at MIT-ML, BUG-LISPM at MIT-ML
cc: BSG at MIT-ML
The maclisp manual claims that (car (last (status features))) is
the implementation name. I have also been under the impression
that (cadr (reverse (status features))) was itself significant, ie
the "machine identifier" or somesuch (eg "ML"), but i don't have
an old manual handy to see if it actually claims this. I see however
that multics maclisp now has "Maclisp" as the last element, and the
lisp machine uses neither of those last elements. It would be kind
of nice if these items could be found by some means other than
enumeration.
ITS people: Can't there be some hack so that the machine name
will be correct if a dumped lisp is transported? Like making the last
two cons cells pure, so that SHAREP will make it be correct?
∂19-Oct-79 0056 KMP at MIT-MC (Kent M. Pitman) INCLUDEF
Date: 19 OCT 1979 0356-EDT
From: KMP at MIT-MC (Kent M. Pitman)
Subject: INCLUDEF
To: (BUG LISP) at MIT-MC, CWH at MIT-MC, RWK at MIT-MC, GLS at MIT-MC
CC: KMP at MIT-MC
RWK says it hasn't been officially released, so I'll make one last naming
plea ... I don't think the subr version of INCLUDE ought to be called
INCLUDEF. There are several families of functions in MacLISP which deal
with files. They include (no pun intended) ...
Family 1 - File system manipulators (fully external operations)
PROBEF, RENAMEF, LINKF (non-existent, but hopefully to come soon?),
DELETEF, ...
Family 2 - Environment loaders (unit i/o)
INCLUDE, LOAD, FASLOAD
Family 3 - General I/O
UREAD, UWRITE, CLOSE, OPEN, ...
The first category all end in F. None of the others do. To
create a function INCLUDEF would violate this rule. The transformation
of INCLUDE into a subr is more akin to the creation of the group:
((BREAK . *BREAK) (THROW . *THROW) (CATCH . *CATCH)).
INCLUDEF is an ugly name. I still vote for changing this to *INCLUDE.
-kmp
∂19-Oct-79 0334 RWK at MIT-MC (Robert W. Kerns)
Date: 19 OCT 1979 0634-EDT
From: RWK at MIT-MC (Robert W. Kerns)
To: (BUG LISP) at MIT-MC
the LISP software device should be defined on ITS! Say you have
(LOAD '|LISP:FOO BAR|), it would be nice if this would work as well
as (LOAD '((LISP) FOO BAR)), which happens to work merely because it's
ambiguous and gives you the LISP directory.
∂19-Oct-79 0339 RWK at MIT-MC (Robert W. Kerns) Foobar, '' broken
Date: 19 OCT 1979 0640-EDT
From: RWK at MIT-MC (Robert W. Kerns)
Subject: Foobar, " broken
To: (BUG LISP) at MIT-MC
CC: KMP at MIT-MC
"foo
"
==>|foo|
This is wrong, incompatible with every " macro I've ever seen.
∂19-Oct-79 0427 Scott at SRI-KL (Scott Kramer) faslp loss on twenex
Date: 19 Oct 1979 0425-PDT
From: Scott at SRI-KL (Scott Kramer)
Subject: faslp loss on twenex
To: bug-lisp at MC
This returns the proper value...and more.
(faslp '|qtrace.fasl|)
T
;FXPDL OUT OF PHASE (SYSTEM ERROR)
;BKPT *RSET-TRAP
(faslp '|qtrace.lsp|)
NIL
;FXPDL OUT OF PHASE (SYSTEM ERROR)
;BKPT *RSET-TRAP
-------
∂20-Oct-79 0504 JONL at MIT-MC (Jon L White)
Date: 20 OCT 1979 0801-EDT
From: JONL at MIT-MC (Jon L White)
To: RWK at MIT-MC
CC: (BUG LISP) at MIT-MC, KMP at MIT-MC
Date: 19 OCT 1979 0640-EDT
From: RWK at MIT-MC (Robert W. Kerns)
"foo
"
==>|foo|
This is wrong, incompatible with every " macro I've ever seen.
Not really - a decision long ago was that for maclisp, <carriage-return>
would be invisible unless slashed. Try typing |AB<cr><cr>| and see
what you get! One argument is that maclisp's convention is contrary
to some other systems, but at least it is internally consistent.
∂20-Oct-79 0651 JONL at MIT-MC (Jon L White) FASLP loses on twenex
Date: 20 OCT 1979 0949-EDT
From: JONL at MIT-MC (Jon L White)
Subject: FASLP loses on twenex
To: SCOTT at SRI-KL
CC: (BUG LISP) at MIT-MC
Gllaaag. Found, and corrected in the source. Will reassemble
within a day or so (other bugs being corrected too). Tnx superly
for finding this one.
∂20-Oct-79 0952 JONL at MIT-MC (Jon L White)
Date: 20 OCT 1979 1246-EDT
From: JONL at MIT-MC (Jon L White)
To: GSB at MIT-MC
CC: (BUG LISP) at MIT-MC, (BUG LISPM) at MIT-MC, BSG at MIT-MC
Date: 18 October 1979 21:34-EDT
From: Glenn S. Burke <GSB at MIT-ML>
Subject: format of (status features)
The maclisp manual claims that (car (last (status features))) is
the implementation name.
Actually, it was meant to mean "name of operating system type", such
as TOPS-10, TOPS-20, TENEX, ITS, MULTICS . . .
I have also been under the impression
that (cadr (reverse (status features))) was itself significant, ie
the "machine identifier" or somesuch (eg "ML"), but i don't have
an old manual handy to see if it actually claims this.
This is not really a "feature" - it was used in the days when the
various ITS machines had to have different assemblies of LISP. But
now, the same code is used on all three systems (yes, Virginia, we
don't make use of the fact that the KL10 has . . .)
I see however
that multics maclisp now has "Maclisp" as the last element, and the
lisp machine uses neither of those last elements. It would be kind
of nice if these items could be found by some means other than
enumeration.
This might seem a bug, if we would expect the last element to be the
supporting operating system name.
∂20-Oct-79 2135 KMP at MIT-MC (Kent M. Pitman)
Date: 21 OCT 1979 0033-EDT
From: KMP at MIT-MC (Kent M. Pitman)
To: (BUG QN) at MIT-MC
(DEFUN BUG (X) (BUG1 X X X))
(DEFUN BUG1 (X Y Z)
(PRINT (LIST (MAKNAM X) (MAKNAM Y) (MAKNAM Z)) TYO))
Compile this and then do (BUG '(49.)) ... It prints out (/1 NIL ||) ...
I suspect this means MAKNAM is being allowed to clobber its arg in some
obscure way ...? Note the lossage doesn't occur for a similar function
to BUG1 with only 2 args...
∂21-Oct-79 0800 JLK at MIT-MC (John L. Kulp)
Date: 21 OCT 1979 1058-EDT
From: JLK at MIT-MC (John L. Kulp)
To: (BUG LISP) at MIT-MC
For what its worth, I like RWK's suggestion about the syntax of CR.
∂21-Oct-79 1021 APW@MIT-AI Effect of CR in symbols
From: APW@MIT-AI
Date: 10/21/79 13:01:03
Subject: Effect of CR in symbols
APW@MIT-AI 10/21/79 13:01:03 Re: Effect of CR in symbols
To: (BUG LISP) at MIT-AI
A good idea.
∂21-Oct-79 1023 DHD@MIT-AI crs in atoms
From: DHD@MIT-AI
Date: 10/21/79 13:19:52
Subject: crs in atoms
DHD@MIT-AI 10/21/79 13:19:52 Re: crs in atoms
To: (BUG LISP) at MIT-AI
Why not make CR a force feed character, as in lispm? This seems to be a major
problem with new maclisp users as well. I definatly (sic) support the change.
∂21-Oct-79 1133 EB@MIT-AI
From: EB@MIT-AI
Date: 10/21/79 14:29:58
EB@MIT-AI 10/21/79 14:29:58
To: (BUG LISP) at MIT-AI
I am in favor of the CR change.
Also, a question: Is there now, or does there exist somewhere code to get,
or is it possible to have, a control character that erases to beginning
of line like Ctrl U does for most things on Tosp-20?
I realize that this would require some kind of line-buffering, but it
is terrible to have ↑G and ↑X be the only alternatives to lotsa rubouts.
Or failing that, is there a character (or could there be) to abort the
current read and do it over? I understand there would be possible problems
with read-macros, but is any solution possible?
∂21-Oct-79 1257 Scott.Fahlman at CMU-10A Proposed CR change.
Date: Sunday, 21 October 1979 1551-EDT
From: Scott.Fahlman at CMU-10A
Subject: Proposed CR change.
To: bug-lisp @ mit-mc
Message-ID: <21Oct79 155157 SF50@CMU-10A>
I like the proposed change to the default status of CR. As a minor datum,
note that the default at CMU is to set CR as a break character (we also
use linemode input, mostly) so the change would not screw anyone here.
-- Scott
∂21-Oct-79 1308 SJOBRG@MIT-AI Effect of CR in symbols
From: SJOBRG@MIT-AI
Date: 10/21/79 15:49:17
Subject: Effect of CR in symbols
SJOBRG@MIT-AI 10/21/79 15:49:17 Re: Effect of CR in symbols
To: (BUG LISP) at MIT-AI
I think <cr> should be a break character identical to space.
Does the proposed change mean just that, or something else?
∂21-Oct-79 1324 KMP at MIT-MC (Kent M. Pitman) Changing <CR> syntax
Date: 21 OCT 1979 1620-EDT
From: KMP at MIT-MC (Kent M. Pitman)
Subject: Changing <CR> syntax
To: (BUG LISP) at MIT-MC
I think I've expressed my favor of <CR> not being ignored in atoms any more,
but just for the record I thought I'd say it.
Does this mean that <atom><CR> would be like <atom><space>? ... I think
that would be nice too... Confuse a lot less people who wonder why <atom><CR>
does nothing...
∂21-Oct-79 1335 HIC at MIT-MC (Howard I. Cannon) Effect of CR in symbols
Date: 21 OCT 1979 1631-EDT
From: HIC at MIT-MC (Howard I. Cannon)
Subject: Effect of CR in symbols
To: (BUG LISP) at MIT-MC
The current way CR's is handled is totally wrong. Treating them basically
like space for symbols, and correctly in strings, is of course the right
thing.
∂21-Oct-79 1413 ALAN@MIT-AI
From: ALAN@MIT-AI
Date: 10/21/79 17:08:23
ALAN@MIT-AI 10/21/79 17:08:23
To: (BUG LISP) at MIT-AI
Yes, Yes, Yes. <cr> should be treated just as any other
whitespace character. This has the effect that typing FOO<cr> at
toplevel will read the symbol FOO, which is what I gather people mean
when they talk about a force-feed character.
The only objection I can see to correcting the syntax of <cr>
is that the printer will have to be fixed to not output a <cr> in
the middle of a symbol. This cannot be too much of a screw since I
have never, never actually seen the printer do this. (The LispMachine
printer doesn't output any <cr>s at all, and no one seems to mind.)
∂21-Oct-79 1608 RJF at MIT-MC (Richard J. Fateman)
Date: 21 OCT 1979 1904-EDT
From: RJF at MIT-MC (Richard J. Fateman)
To: (BUG LISP) at MIT-MC
CC: RWK at MIT-MC, JPG at MIT-MC
IGNORING THE CR'S IN MACSYMA HAS THE EFFECT OF MAKING
FOR I:1 THRU 10 DO
PRINT(I); BE A SYNTAX ERROR : DOPRINT IS NOT AN INFIX OPERATOR...
I THINK THIS IS A LOSS. I THINK IT IS A LOSS IN LISP TOO, BUT THERE MIGHT
BE REASONS FOR IT THAT I DO NOT KNOW ABOUT.
∂21-Oct-79 1633 GJC at MIT-MC (George J. Carrette) CR
Date: 21 OCT 1979 1926-EDT
From: GJC at MIT-MC (George J. Carrette)
Subject: CR
To: (BUG LISP) at MIT-MC
Uhm, the only changes it would make in my code is it would add extra CR's to
stuff inside |...| The example is this:
(DOCUMENT-MACRO DOC1 '|
text......./
kdkdkjfjdk/
|
)
That is, I use the first hidden CR to make it easier to line up the document
text. But slashing all the CR's I want is also a pain. So I'd rather
have the extra CR ...
∂21-Oct-79 1853 GRAND@MIT-AI
From: GRAND@MIT-AI
Date: 10/21/79 21:50:20
GRAND@MIT-AI 10/21/79 21:50:20
To: (BUG LISP) at MIT-AI
Treating CR as a delimiter is just fine with me. I find
it to be a lot more natural to type that way. I currently have
the appropriate setsyntax in my init file to effect this.
∂21-Oct-79 2119 GJC at MIT-MC (George J. Carrette)
Date: 22 OCT 1979 0016-EDT
From: GJC at MIT-MC (George J. Carrette)
To: (BUG LISP) at MIT-MC
WHATS AN SFA ?
∂22-Oct-79 0033 JPG at MIT-MC (Jeffrey P. Golden)
Date: 22 OCT 1979 0331-EDT
From: JPG at MIT-MC (Jeffrey P. Golden)
To: (BUG LISP) at MIT-MC
CC: RJF at MIT-MC, RWK at MIT-MC, JPG at MIT-MC
I am in favor of the proposed CR change. However, it would
certainly cause some trouble to MACSYMA if things were changed.
(1) MACSYMA SAVE files are written to by using PRINT and CRs are generated
by default in LISP when very long atoms (e.g. numbers) are printed.
I do not relish having to mend user's SAVE files to support this change.
Perhaps if any change here were switchable at least for some reasonable
period of time while LISP stopped behaving in TERPRI NIL mode wrt
printing very long atoms, things would be ok.
(2) A similar problem occurs on the user input end. People would have
to train themselves to overflow lines without typing CR when inputting
long atoms. I suppose this is not too much to ask.
(3) When I used to use ML's LPT, it used to overprint horribly when
outputting atoms > its linel in length. (I.e. when no newlines were used.)
Is it really the case that there are no similar lossages today, that if
one tries to print out a very long atom that one will win no matter what
the output device is, i.e. no obliterating overprinting will occur?
∂22-Oct-79 0056 JPG at MIT-MC (Jeffrey P. Golden)
Date: 22 OCT 1979 0353-EDT
From: JPG at MIT-MC (Jeffrey P. Golden)
To: (BUG LISP) at MIT-MC
CC: RJF at MIT-MC, RWK at MIT-MC, JPG at MIT-MC
One more thing:
(4) I guess if this change were to go through, there should be some
way to specify "continuation" for very long atoms so that one could
type "continuation"<cr><more junk> and have the <cr> ignored, so
that one would not be forced to run near or over linel in order to
input a very long atom. This is almost necessary when using devices
for later printout which have losing or blurred columns, etc.
∂22-Oct-79 0523 RLB at MIT-MC (Richard L. Bryan) CR in symbols and strings
Date: 22 OCT 1979 0820-EDT
From: RLB at MIT-MC (Richard L. Bryan)
Subject: CR in symbols and strings
To: (BUG LISP) at MIT-MC
I've been waiting for that for years. However, there's always the issue of
compatibility with files written by older MacLISPs. What happens if a
symbol with FLATSIZE > linel is written? MacLISP currently offers no
line continuation character sequence, and either one would be needed, or
else we'd have to decide that it would be ok to write past linel.
∂22-Oct-79 0625 LH@MIT-ML
From: LH@MIT-ML
Date: 10/22/79 09:23:29
LH@MIT-ML 10/22/79 09:23:29
To: (BUG LISP) at MIT-ML
Yes, by all means have CR act like a space.
∂22-Oct-79 0839 RBRN@MIT-AI CR in LISP
From: RBRN@MIT-AI
Date: 10/22/79 11:33:26
Subject: CR in LISP
RBRN@MIT-AI 10/22/79 11:33:26 Re: CR in LISP
To: (BUG LISP) at MIT-AI, rwk at MIT-MC
Although there probably are not many programs that depend on CR being ignored, there are
(or at least historically were) several programs that groveled over LISP code,
and introduced CRs where none were before. For this
reason the syntax of CR should be left alone.
Besides, what would be the purpose of such a change?
Anyway, for your own use you could probably just modify the syntax via your
own LISP init file.
∂22-Oct-79 1002 REM at MIT-MC (Robert Elton Maas) Changing CR in LISP, reply/opinion
Date: 22 OCT 1979 1257-EDT
From: REM at MIT-MC (Robert Elton Maas)
Subject: Changing CR in LISP, reply/opinion
To: (BUG LISP) at MIT-MC
I presume the original reason for CR being ignored was that data written
out to a file with finite linelength shorter than the longest atom pname
or numeric value could be read back in without hassle even if the data
had been broken to make it fit. How to you propose to handle this if the
change is made to break atoms across crlf? (I have some programs
currently that generate large BIGNUMs and write them to files. I don't
know if they are broken across crlf, since this is masked by TCTYP width
when I try to type it out, unless I look carefully and distinguish 72
from 78 characters.) I have always been bothered by crlf being ignored
when I type in stuff, but have learned to live with it. Living with
the "standard" way instead would be interesting...
∂22-Oct-79 1108 ARCHY at MIT-MC (William M. York, Jr.) Effect of CR in symbols
Date: 22 OCT 1979 1405-EDT
From: ARCHY at MIT-MC (William M. York, Jr.)
Subject: Effect of CR in symbols
To: (BUG LISP) at MIT-MC
CR should NOT be ignored.
FOO
BAR
should be two symbols, FOO and BAR.
∂22-Oct-79 2014 GLS@MIT-AI Effect of CR in symbols
From: GLS@MIT-AI
Date: 10/22/79 21:38:53
Subject: Effect of CR in symbols
GLS@MIT-AI 10/22/79 21:38:53 Re: Effect of CR in symbols
To: RWK at MIT-MC
CC: (BUG LISP) at MIT-AI, GLS at MIT-AI
If you make CR significant in delimiting atoms then it is imperative
that both PRIN1 and GRINDEF never ever ever break symbols across lines
(for PRIN1 it would suffice to make TERPRI have the other value (I can
never remember which is which) as the initial default). Otherwise one
might write out code or data and then re-read it incorrectly.
Some languages have an "un-slash" character which can be used to un-escape
a carriage return or tab or whatever. Suppose "\" to be such a character;
then writing
|Foobar\<cr>
\ \ this really bites the<cr>
\ \ BAG!|
would be the same as writing |Foobar this really bites the<cr>
BAG!|. I think Multics has such a character, for example. This
is so that one can split things across lines for readability.
∂22-Oct-79 2111 BAK@MIT-AI Effect of CR in symbols
From: BAK@MIT-AI
Date: 10/23/79 00:08:28
Subject: Effect of CR in symbols
BAK@MIT-AI 10/23/79 00:08:28 Re: Effect of CR in symbols
To: (BUG LISP) at MIT-AI
I am 100% for RWK's suggestion, and I wonder why this wasn't changed years
ago. The only utility for the present lossage that I can think of is on
operating systems that do not support automatic wrap around when typing
beyond the screen limit (as ITS does). This would be the only way to enter
symbols whose size is greater than the linel minus current position. The
present scheme seems to help nobody and has 2 noticeable disadvantages.
(1) What you see isn't what you get inside vertical bar'd symbols. This is
particularly annoying because CRs don't print. Slashified CRs look just
like slashes hanging in midair (which could be quoting a space for all you know).
(2) Normal conventions in virtually every other parser treat CR as a
delimeter for tokens. Natural language text follows similar conventions.
This causes confusion, particularly with beginners.
∂22-Oct-79 2157 KMP at MIT-MC (Kent M. Pitman) Last minute paranoia about ignoring <CR>'s
Date: 23 OCT 1979 0054-EDT
From: KMP at MIT-MC (Kent M. Pitman)
Sent-by: TURNIP at MIT-MC
Subject: Last minute paranoia about ignoring <CR>'s
To: (BUG LISP) at MIT-MC
Some points to consider ...
(1) JPG claims there may be a large number of Macsyma save files with bignums
broken across lines...
(2) As I recall, RLB mentioned something to me a long time ago about
compatibility on other sites where there is a maximum record-length
and records are delimited by <CR>'s ... this might mean it is impossible
for a system to store lines past a certain length for us. Probably
end-of-records could be special cased in some way so that the <CR> could
be meaningful in all other places -- eg, <CR>'s that occur at that boundary
might be ignored? a double-<CR> at that point might be needed for intended
single <CR> there ... dunno.
I'm still in favor of flushing the current convention, but let's make sure
nothing much will break first ...
∂22-Oct-79 2159 KMP at MIT-MC (Kent M. Pitman) <CR>'s
Date: 23 OCT 1979 0056-EDT
From: KMP at MIT-MC (Kent M. Pitman)
Sent-by: TURNIP at MIT-MC
Subject: <CR>'s
To: (BUG LISP) at MIT-MC
... to my last note I should add that since no one has saved strings so
far there is no reason strings shouldn't instantly obey the winning
new convention (of making <CR> significant).
Also, I wonder if PRIN1/PRINT should know to print 'strings' specially with
"..." around them .......... probably not ...... just a thought, tho'.
-kmp
∂22-Oct-79 2304 DLW@MIT-AI
From: DLW@MIT-AI
Date: 10/23/79 02:01:29
DLW@MIT-AI 10/23/79 02:01:29
To: (BUG LISP) at MIT-AI
The change to have CRs break symbols is long overdue. By all
means, put it in. As I belive the printer has been fixed to allow
the operating system do the line-wraparound rather than inserting
the spurious CRLFs itself, which was the only reason for the
reader peculiarity anyway, I greatly doubt the number of bugs caused
will be > 1% of the number of bugs averted.
∂23-Oct-79 0903 RIVEST@MIT-ML
From: RIVEST@MIT-ML
Date: 10/23/79 12:01:16
RIVEST@MIT-ML 10/23/79 12:01:16
To: (BUG LISP) at MIT-ML
I'm in favor of CR being treated as a blank!!!
Ron Rivest
∂23-Oct-79 1215 MLB@MIT-AI
From: MLB@MIT-AI
Date: 10/23/79 14:56:44
MLB@MIT-AI 10/23/79 14:56:44
To: (BUG lisp) at MIT-MC
YES! I would like to see the handliing of CR changed. I get screwed
by the current scheme fairly regularly.
∂24-Oct-79 1753 DKM@MIT-AI
From: DKM@MIT-AI
Date: 10/24/79 20:50:10
DKM@MIT-AI 10/24/79 20:50:10
To: (BUG LISP) at MIT-AI
Changing the meaning of CR is surely a winning idea, for several reasons:
1) People read a CR as being an end-of-symbol. For example, when you see a
FOO
BAR
you surely think of this as being two separate symbols, not one.
2) Novice LISP hackers expect a CR to terminate an atom. I know, having made
this mistake myself -- I want to find the value of FOO, so I type FOO<CR>
and soon begin to wonder about ITS's response time. Another place is in
typing in a long list of atoms: I type a CR at the end of a line and start
the next line; LISP ignores the CR, fouling things unnecessarily.
3) CR already has a meaning similar to terminate-symbol: It terminates a ; comment.
Are there any reasons not to change CR?
DKM
∂24-Oct-79 2229 GSB@MIT-ML
From: GSB@MIT-ML
Date: 10/25/79 01:27:49
GSB@MIT-ML 10/25/79 01:27:49
To: (BUG COMPLR) at MIT-ML
The function DECDEF-DEFINE-ROUTINE-OR-MACRO in ML:LSB;DECDEF LOSE loses
grossly. It hits the (only) "(break barf)", near the end;
apparently the variable MINARGS does not equal MAXARGS - i gather this
because what gets returned where MINARGS is returned is a very strange
number, coincidentally the instruction "call 2,.function nreconc".
My guess is pdl number lossage. This worked as of version 365 (october
4), and this function hasn't been changed. (DECDEF LOSE is version 366.)
In particular, the following sequence of instructions (near the
front of the function) is suspect:
(MOVE 7. @ -10. P)
(ADD 7. 0. 1.)
(PUSH FXP 7.)
(MOVEI 1. 0. FXP)
(SUB FXP (% 0. 0. 1. 1.))
G0031
(MOVEM 1. -10. P)
The lap is in GSB1;DECDEF LAP.
∂25-Oct-79 0429 JONL at MIT-MC (Jon L White) CR convention change
Date: 25 OCT 1979 0727-EDT
From: JONL at MIT-MC (Jon L White)
Subject: CR convention change
To: (BUG LISP) at MIT-MC
Some mail that didn't get forwarded
Date: 22 Oct 1979 1156-PDT
From: Dick Gabriel <RPG at SU-AI>
Subject: Ok
What the hell is the new CR change? I assumed, until today, that
this was only to affect vertical-bar macros. Now it looks like
it is to be valid in all atoms? If the latter, we object and
don't want the new code, if the former, sure.
∂25-Oct-79 0753 JONL@MIT-ML LSB;DECDEF LOSE
From: JONL@MIT-ML
Date: 10/25/79 10:50:54
Subject: LSB;DECDEF LOSE
JONL@MIT-ML 10/25/79 10:50:54 Re: LSB;DECDEF LOSE
To: GSB at MIT-ML
CC: (BUG COMPLR) at MIT-ML
Yes, I broke comlr fiddling around with the pdlnumbering stuff,
but just dumped out a good version again.
∂25-Oct-79 1541 GSB@MIT-ML how about...
From: GSB@MIT-ML
Date: 10/25/79 17:43:45
Subject: how about...
GSB@MIT-ML 10/25/79 17:43:45 Re: how about...
To: (BUG LISP) at MIT-ML
.entry untyi subr 003
movei ar1,(b)
$untyi: jsp tt,xfosp
jrst barf
jfcl
jsp t,fxnv1
movei a,(tt)
pushj p,untyi+2
movei a,.atom T
popj p,
barf: exch a,ar1
wta [NOT FILE OR SFA - UNTYI!]
exch a,ar1
jrst $untyi
∂25-Oct-79 2011 Robert W. Kerns <RWK at MIT-MC> CR convention change
Date: 25 October 1979 20:08-EDT
From: Robert W. Kerns <RWK at MIT-MC>
Subject: CR convention change
To: RPG at MIT-MC
cc: BUG-LISP at MIT-MC
Date: 25 October 1979 07:27-EDT
From: Jon L White <JONL at MIT-MC>
To: BUG-LISP
Re: CR convention change
Some mail that didn't get forwarded
Date: 22 Oct 1979 1156-PDT
From: Dick Gabriel <RPG at SU-AI>
Subject: Ok
What the hell is the new CR change? I assumed, until today, that
this was only to affect vertical-bar macros. Now it looks like
it is to be valid in all atoms? If the latter, we object and
don't want the new code, if the former, sure.
Would you elaborate? What are your objections? How strongly do you
hold them? How do you feel about the change being only inside vertical
bars? (I think the change is as important outside as inside, but am willing
to at least consider the idea that they should be considered separately).
If the rest of the world did this, are there different conditions at SAIL
(political, operating-system, editing, or whatever) that make it necessary
to be different? If it were made SAIL-only for outside, and everybody kept
CR's in vertical bars, I can't see any real problem with transportability,
so my main objection to SAIL doing whatever they want wouldn't hold in that
case.
Care to fill us in on the rest of your opinion on this issue?
∂25-Oct-79 2011 RWK at MIT-MC (Robert W. Kerns)
Date: 25 OCT 1979 2125-EDT
From: RWK at MIT-MC (Robert W. Kerns)
To: (BUG LISP) at MIT-MC
CC: RZ at MIT-MC
Why isn't there an ASH function?
∂25-Oct-79 2011 Robert W. Kerns <RWK at MIT-MC> CR in LISP
Date: 25 October 1979 22:49-EDT
From: Robert W. Kerns <RWK at MIT-MC>
Subject: CR in LISP
To: RBRN at MIT-AI
cc: BUG-LISP at MIT-MC
Date: 10/22/79 11:33:26
From: RBRN at MIT-AI
To: (BUG LISP) at MIT-AI, rwk
Re: CR in LISP
Although there probably are not many programs that depend on CR being ignored, there are
(or at least historically were) several programs that groveled over LISP code,
and introduced CRs where none were before. For this
reason the syntax of CR should be left alone.
Besides, what would be the purpose of such a change?
Anyway, for your own use you could probably just modify the syntax via your
own LISP init file.
What programs are these? Are there any still in use? If you mean GRIND,
it hasn't done that in many years. I can't think of any reason why a
reasonable program would introduce CR's in the middle of an atom. The purpose
of the change is to make things more compatible with the rest of the world.
Currently, ITS MACLISP is incompatible with Multics MacLisp even. The LISP
Machine already does things this way; wouldn't you like your code to be
compatible between it and ITS?
Obviously, this has nothing to do with my own use. It would be a mistake
for me to set it this way in my init file, since then I would be incompatible
with everybody else. I think most people do want it changed.
∂25-Oct-79 2011 Robert W. Kerns <RWK at MIT-MC>
Date: 25 October 1979 22:51-EDT
From: Robert W. Kerns <RWK at MIT-MC>
To: BUG-LISP at MIT-MC
cc: EAK at MIT-MC
Date: 22 October 1979 10:51-EDT
From: Earl A. Killian <EAK at MIT-MC>
To: RWK
Re: Effect of CR in symbols
I was sort of grossed out that FOO<cr>BAR read in as FOOBAR
instead of FOO<sp>BAR. I think it is highly non-obvious. When I
complained, the reason I got was that PRINT liked to print FOOBAR
as FOO<cr>BAR to avoid overflowing the linel. Seems poor to me.
That indeed was part of the original reason. The decision dates from before
ITS handled breaking of lines, I think.
∂25-Oct-79 2011 Robert W. Kerns <RWK at MIT-MC> CR in symbols and strings
Date: 25 October 1979 22:56-EDT
From: Robert W. Kerns <RWK at MIT-MC>
Subject: CR in symbols and strings
To: RLB at MIT-MC
cc: BUG-LISP at MIT-MC
Date: 22 October 1979 08:20-EDT
From: Richard L. Bryan <RLB at MIT-MC>
To: BUG-LISP
Re: CR in symbols and strings
I've been waiting for that for years. However, there's always the issue of
compatibility with files written by older MacLISPs. What happens if a
symbol with FLATSIZE > linel is written? MacLISP currently offers no
line continuation character sequence, and either one would be needed, or
else we'd have to decide that it would be ok to write past linel.
My answer is that we should decide that it's ok to write past linel if we
don't have a choice.
∂25-Oct-79 2025 Robert W. Kerns <RWK at MIT-MC> CR
Date: 25 October 1979 23:21-EDT
From: Robert W. Kerns <RWK at MIT-MC>
Subject: CR
To: GJC at MIT-MC
cc: BUG-LISP at MIT-MC
Date: 21 October 1979 19:26-EDT
From: George J. Carrette <GJC at MIT-MC>
To: BUG-LISP
Re: CR
Uhm, the only changes it would make in my code is it would add extra CR's to
stuff inside |...| The example is this:
(DOCUMENT-MACRO DOC1 '|
text......./
kdkdkjfjdk/
|
)
That is, I use the first hidden CR to make it easier to line up the document
text. But slashing all the CR's I want is also a pain. So I'd rather
have the extra CR ...
What's wrong with:
(DOCUMENT-MACRO DOC1 '
|text.......
kdkdkjfjdk
|
)
Which is less extra characters on each line?
∂25-Oct-79 2030 Robert W. Kerns <RWK at MIT-MC> Effect of CR in symbols
Date: 25 October 1979 23:26-EDT
From: Robert W. Kerns <RWK at MIT-MC>
Subject: Effect of CR in symbols
To: SJOBRG at MIT-AI
cc: BUG-LISP at MIT-MC
Date: 10/21/79 15:49:17
From: SJOBRG at MIT-AI
To: (BUG LISP) at MIT-AI
Re: Effect of CR in symbols
I think <cr> should be a break character identical to space.
Does the proposed change mean just that, or something else?
It does NOT mean it is identical to space, which I don't think you mean
either. Consider
|FOO
BAR|
I don't think you mean to claim this should be the same as
|FOO BAR|.
If you mean "It should break symbols when unquoted, just like SPACE",
then yes.
∂25-Oct-79 2038 Dick Gabriel <RPG at SU-AI> CR convention change
Date: 25 Oct 1979 2030-PDT
From: Dick Gabriel <RPG at SU-AI>
To: bug-lisp at MIT-AI
∂25-Oct-79 2011 Robert W. Kerns <RWK at MIT-MC> CR convention change
Date: 25 October 1979 20:08-EDT
From: Robert W. Kerns <RWK at MIT-MC>
Subject: CR convention change
To: RPG at MIT-MC
cc: BUG-LISP at MIT-MC
Date: 25 October 1979 07:27-EDT
From: Jon L White <JONL at MIT-MC>
To: BUG-LISP
Re: CR convention change
Some mail that didn't get forwarded
Date: 22 Oct 1979 1156-PDT
From: Dick Gabriel <RPG at SU-AI>
Subject: Ok
What the hell is the new CR change? I assumed, until today, that
this was only to affect vertical-bar macros. Now it looks like
it is to be valid in all atoms? If the latter, we object and
don't want the new code, if the former, sure.
Would you elaborate? What are your objections? How strongly do you
hold them? How do you feel about the change being only inside vertical
bars? (I think the change is as important outside as inside, but am willing
to at least consider the idea that they should be considered separately).
If the rest of the world did this, are there different conditions at SAIL
(political, operating-system, editing, or whatever) that make it necessary
to be different? If it were made SAIL-only for outside, and everybody kept
CR's in vertical bars, I can't see any real problem with transportability,
so my main objection to SAIL doing whatever they want wouldn't hold in that
case.
Care to fill us in on the rest of your opinion on this issue?
It sounds as though you are arguing for a convention we have had for
years, namely, that foo<cr>bar => foo<sp>bar not foobar. I forgot that
ITS did thatwrong. I hope that inside vertical bars it will be consistent
after the change.
-rpg-
∂25-Oct-79 2132 RWK at MIT-MC (Robert W. Kerns)
Date: 26 OCT 1979 0029-EDT
From: RWK at MIT-MC (Robert W. Kerns)
To: rpg at SU-AI
CC: (BUG LISP) at MIT-MC
Great. Then you also think it's OK for
|foo
bar|
to be the same as
|foo/
bar| ? If so, then we agree?
∂26-Oct-79 2216 GJC at MIT-MC (George J. Carrette)
Date: 27 OCT 1979 0114-EDT
From: GJC at MIT-MC (George J. Carrette)
To: (BUG LISP) at MIT-MC
In L;ARITH > I noticed a few SQRT algorithms, some of
which were titled "another old sqrt algorithm".
Q: Which one do you get when you do (SQRT ...) ?
∂26-Oct-79 2315 RWK at MIT-MC (Robert W. Kerns)
Date: 27 OCT 1979 0211-EDT
From: RWK at MIT-MC (Robert W. Kerns)
To: (BUG LISP) at MIT-MC
CC: JPG at MIT-MC, NIL at MIT-MC
Would it cause any problems or be too hard for the number scanner to ignore
commas? JPG and probably others would like to be able to group digits of
their numbers... Also, comma-return could be ignored (why not, it's quite
unambiguous).
∂26-Oct-79 2330 Robert W. Kerns <RWK at MIT-MC>
Date: 27 October 1979 02:23-EDT
From: Robert W. Kerns <RWK at MIT-MC>
To: GJC at MIT-MC
cc: BUG-LISP at MIT-MC
Date: 27 October 1979 01:14-EDT
From: George J. Carrette <GJC at MIT-MC>
To: BUG-LISP
In L;ARITH > I noticed a few SQRT algorithms, some of
which were titled "another old sqrt algorithm".
Q: Which one do you get when you do (SQRT ...) ?
The sequence COMMENT | ...| is a comment, so the algorithms which have that
around them are commented out. The current one is the last one found.
The one that GLS says he doesn't understand (in the comments preceeding), by
Kahil.
∂27-Oct-79 1014 JONL at MIT-MC (Jon L White) Mail at Sail ?
Date: 27 OCT 1979 1311-EDT
From: JONL at MIT-MC (Jon L White)
Subject: Mail at Sail ?
To: rpg at SU-AI, rod at SU-AI
CC: (BUG lisp) at SU-AI
As per ROD's instructions, I'm removing these names
off the NIL mailing list tempporarily, until Sail
gets settled down again. Also, I've removed them off
the BUG-LISP list at MC. If you can login to MC
durining the move, you will find this mail posted
in the files NIL;NIL MAIL and LISP;BUG MAIL
∂27-Oct-79 1823 GSB@MIT-ML scrod again
From: GSB@MIT-ML
Date: 10/27/79 21:20:50
Subject: scrod again
GSB@MIT-ML 10/27/79 21:20:50 Re: scrod again
To: (BUG COMPLR) at MIT-ML
In ML:GSB;LODBYT LOSE (version 23), in the macro definition of
MASK-FIELD, the (boole 1 frob mask) returns a pdl number, then
exits, invalidating the pdl number.
∂26-Nov-79 0442 GSB@MIT-ML
From: GSB@MIT-ML
Date: 11/21/79 14:00:35
GSB@MIT-ML 11/21/79 14:00:35
To: (BUG COMPLR) at MIT-ML
(COMMENT **** (EQ BASE (QUOTE ROMAN)) EQ of a number - EQUAL assumed in function %SMARTOBJ-PRINT-NUMBER)
Please take this EQUAL and stick it into the pdl number allocater.
∂26-Nov-79 1903 H at MIT-AI (Jack Holloway)
Date: 26 NOV 1979 2201-EST
From: H at MIT-AI (Jack Holloway)
To: (BUG QC) at MIT-AI
The compiler's error message for directory full
is "randomness in complr-tople...".